//-------------------------------------------------------------------------------------------------
/// General Constants 
///
/// - All feature flags should go here
/// - All design parameters that are not in the data should go here (except arrays)
/// - All constants/enumerations
///
//-------------------------------------------------------------------------------------------------
#include "defines.h"
//-------------------------------------------------------------------------------------------------

interface IDefines
{
    // Debug info (console)
    public static final boolean     OUTPUT_STATE_CHANGES                    = false;  	
    public static final boolean     OUTPUT_DETAILED_LOADING_SOUND_MANAGER   = true;
};

//-------------------------------------------------------------------------------------------------
/// Game States
//-------------------------------------------------------------------------------------------------
interface IStates
{
    // Game States
    public static final int         STATE_QUIT                              = -1;
    public static final int 		STATE_INIT								= 1;
    public static final int 		STATE_LOGO								= STATE_INIT + 1;
    public static final int 		STATE_SPLASHSCREEN						= STATE_LOGO + 1;
    public static final int 		STATE_MAINMENU							= STATE_SPLASHSCREEN + 1;
    public static final int 		STATE_MAINLOADING						= STATE_MAINMENU + 1;
    public static final int 		STATE_GAMEPLAY							= STATE_MAINLOADING + 1;
	public static final int			STATE_IGM								= STATE_GAMEPLAY + 1;
    public static final int 		STATE_GAMEPAUSE							= STATE_IGM + 1;
	public static final int 		STATE_SELECTLANGUAGE					= STATE_GAMEPAUSE + 1;
	public static final int			STATE_MM_CONFIRM						= STATE_SELECTLANGUAGE + 1;
	public static final int			STATE_EXIT_CONFIRM						= STATE_MM_CONFIRM + 1;
	

    // State Machine Messages
    public static final int         MESSAGE_ENTER                           = 0;
    public static final int         MESSAGE_UPDATE                          = 1;
    public static final int         MESSAGE_PAINT                           = 2;
    public static final int         MESSAGE_EXIT                            = 3;
    public static final int         MESSAGE_SHOWNOTIFY                      = 4;
    public static final int         MESSAGE_HIDENOTIFY                      = 5;
};

//----------------------------------------------
// Game constans
//----------------------------------------------
interface IConstans
{
	public static final long LOGO_DISPLAY_TIME		= 3000;
};
